home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 37
/
Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso
/
Aminet
/
dev
/
lang
/
sofa.lha
/
sofa
/
smalleiffel
/
bin_c
/
compile_to_c3.c
< prev
next >
Wrap
C/C++ Source or Header
|
2000-03-25
|
121KB
|
4,929 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://SmallEiffel.loria.fr/ --
*/
#include "compile_to_c.h"
void r146mapping_c_arg(T146* C,T0* a1){
T0* _rt=NULL;
_rt=X52run_type(r146result_type(C));
/*[IF*/
if(X52is_reference(_rt)){
/*[IF*/
if(X52is_reference(a1)){
r146compile_to_c(C);
}
else{
r146compile_to_c(C);
}
/*FI]*/
}
else{
/*[IF*/
if(X52is_reference(a1)){
r146compile_to_c(C);
}
else{
/*[IF*/
if(X52need_c_struct(_rt)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r146compile_to_c(C);
}
/*FI]*/
}
/*FI]*/
}
void r217make(T217* C,T68 a1,T0* a2,T0* a3){
/*[IF*/
if(((a2)!=((void*)(NULL)))||((a3)!=((void*)(NULL)))){
{T218*n=((T218*)malloc(sizeof(*n))/*24*/);
*n=M218;
r218make(n,a1,a2,a3);
(/*SFN*/C->_check_invariant)=((T0*)n);
}
}
/*FI]*/
}
T0* r217add_comment(T217* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else {/*AT*//*[IF*/
if((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(1)){
R=((T0*)(C));
}
else{
{T224*n=((T224*)malloc(sizeof(*n))/*12*/);
*n=M224;
r224make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
}
/*FI]*/
return R;
}
void r217compile_to_c(T217* C){
/*[IF*/
if((r47all_check((T47*)(oBC13run_control)))&&(((/*RF2*/(C)->_check_invariant/*4*/))!=((void*)(NULL)))){
r218compile_to_c((T218*)((/*RF2*/(C)->_check_invariant/*4*/)));
}
/*FI]*/
}
void r217afd_check(T217* C){
/*[IF*/
if((r47all_check((T47*)(oBC13run_control)))&&(((/*RF2*/(C)->_check_invariant/*4*/))!=((void*)(NULL)))){
r218afd_check((T218*)((/*RF2*/(C)->_check_invariant/*4*/)));
}
/*FI]*/
}
T6 r217use_current(T217* C){
T6 R=0;
/*[IF*/
if((r47all_check((T47*)(oBC13run_control)))&&(((/*RF2*/(C)->_check_invariant/*4*/))!=((void*)(NULL)))){
R=r218use_current((T218*)((/*RF2*/(C)->_check_invariant/*4*/)));
}
/*FI]*/
return R;
}
T0* r217to_runnable(T217* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(r47all_check((T47*)(oBC13run_control))){
/*[IF*/
if(((/*RF2*/(C)->_current_type/*8*/))==((void*)(NULL))){
(/*SFN*/C->_current_type)=a1;
/*[IF*/
if(((/*RF2*/(C)->_check_invariant/*4*/))!=((void*)(NULL))){
(/*SFN*/C->_check_invariant)=r218to_runnable((T218*)((/*RF2*/(C)->_check_invariant/*4*/)),a1);
}
/*FI]*/
R=((T0*)(C));
}
else{
{T68 se_tmp0;
{T217*n=((T217*)malloc(sizeof(*n))/*12*/);
*n=M217;
r217make(n,(*(se_tmp0=r217start_position(C),&se_tmp0)),NULL,(/*RF2*/((T218*)((/*RF2*/(C)->_check_invariant/*4*/)))->_list/*12*/));
R=((T0*)n);
}
}
R=r217to_runnable(((T217*)R),a1);
}
/*FI]*/
}
else{
(/*SFN*/C->_current_type)=a1;
R=((T0*)(C));
}
/*FI]*/
return R;
}
T6 r217is_pre_computable(T217* C){
T6 R=0;
/*[IF*/
if((r47all_check((T47*)(oBC13run_control)))&&(((/*RF2*/(C)->_check_invariant/*4*/))!=((void*)(NULL)))){
R=r218is_pre_computable((T218*)((/*RF2*/(C)->_check_invariant/*4*/)));
}
else{
R=1;
}
/*FI]*/
return R;
}
T68 r217start_position(T217* C){
T68 R={NULL,0};
/*[IF*/
if(((/*RF2*/(C)->_check_invariant/*4*/))!=((void*)(NULL))){
R=(/*RF2*/((T218*)((/*RF2*/(C)->_check_invariant/*4*/)))->_start_position/*0*/);
}
/*FI]*/
return R;
}
void r133declaration_in(T133* C,T0* a1){
r7append(((T7*)a1),((T0*)ms14_7524a));
r7extend(((T7*)a1),((T3)'\40'));
r7extend(((T7*)a1),((T3)'\42'));
r7append(((T7*)a1),(/*RF2*/(C)->_to_string/*12*/));
r7extend(((T7*)a1),((T3)'\42'));
}
void r133make(T133* C,T0* a1,T68 a2){
(/*SFN*/C->_to_string)=a1;
(/*SFN*/C->_start_position)=a2;
(/*SFN*/C->_to_key)=((/*UT*/(void)((T21*)(r133string_aliaser()))),r21for_prefix((/*RF2*/(C)->_to_string/*12*/)));
}
void r133undefine_in(T133* C,T0* a1){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
T0*oBC13string_aliaser=NULL;
int fBC13string_aliaser=0;
T0* r133string_aliaser(void){
if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
{T21*n=((T21*)malloc(1));
oBC13string_aliaser=((T0*)n);
/*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_22524));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_29246));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_22596));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_60016));
r21add2(((T0*)ms15_26880));
r21add2(((T0*)ms15_33240));
r21add2(((T0*)ms15_21624));
r21add2(((T0*)ms15_60060));
r21add2(((T0*)ms15_26908));
r21add2(((T0*)ms15_33270));
r21add2(((T0*)ms15_21648));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*]*/
}
}}
return oBC13string_aliaser;
}
T0* r133origin_base_class(T133* C){
T0* R=NULL;
R=(/*RF2*/((/*RF2*/(C)->_start_position/*4*/))._base_class/*0*/);
return R;
}
void r133error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
void r272standard_c_object_model(T272* C){
T0* _rc=NULL;
T2 _mem_id=0;
_rc=r272run_class(C);
_mem_id=(/*RF2*/(((T50*)_rc))->_id/*4*/);
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
r2append_in(_mem_id,((T0*)ms52_783104));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'M'));
r2append_in(_mem_id,((T0*)ms52_783104));
r325put_extern7((T325*)(oBC13cpp),((T0*)ms52_783104));
/*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
/*]*/
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
/*]*/
r50c_object_model_in(((T50*)_rc),((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
/*]*/
r325swap_on_h((T325*)(oBC13cpp));
}
void r272gc_free_in(T272* C,T0* a1){
r7append(((T7*)a1),((T0*)ms52_8540));
r2append_in(r272id(C),a1);
}
void r272standard_gc_info_in(T272* C,T0* a1){
r7append(((T7*)a1),((T0*)ms52_22591a));
r7append(((T7*)a1),/*(IRF4.6run_time_mark*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_to_string/*8*/)/*)*/);
r7append(((T7*)a1),((T0*)ms14_5895));
r272gc_info_nb_in(C,a1);
r7append(((T7*)a1),((T0*)ms14_330));
r7append(((T7*)a1),((T0*)ms52_22591));
r272gc_store_left_in(C,a1);
r7append(((T7*)a1),((T0*)ms14_5895));
r272gc_store_left_in(C,a1);
r7append(((T7*)a1),((T0*)ms14_330));
}
T0* r272generic_list(T272* C){
T0* R=NULL;
r272fatal_error_generic_list(C);
return R;
}
T6 r272need_gc_mark_function(T272* C){
T6 R=0;
/*[IF*/
if(r272is_reference(C)){
R=1;
}
else{
R=r50gc_mark_to_follow((T50*)(r272run_class(C)));
}
/*FI]*/
return R;
}
void r272standard_c_print_function(T272* C){
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
r50c_print_function((T50*)(r272run_class(C)));
}
/*FI]*/
}
T2 r272id(T272* C){
T2 R=0;
R=(/*RF2*/((T51*)(r272base_class(C)))->_id/*0*/);
return R;
}
void r272cast_to_ref(T272* C){
X52cast_to_ref(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
}
void r272just_before_gc_mark_in(T272* C,T0* a1){
/*[IF*/
if(r272is_reference(C)){
r272standard_just_before_gc_mark_in(C,a1);
}
/*FI]*/
}
void r272c_header_pass3(T272* C){
/*[IF*/
if(r272is_expanded(C)){
/*[IF*/
if(r272need_c_struct(C)){
r272standard_c_struct(C);
}
/*FI]*/
}
/*FI]*/
}
void r272gc_call_new_in(T272* C,T0* a1){
r7append(((T7*)a1),((T0*)ms14_990));
r2append_in(r272id(C),a1);
r7extend(((T7*)a1),((T3)'\50'));
r7extend(((T7*)a1),((T3)'\51'));
}
void r272standard_c_struct(T272* C){
T0* _t=NULL;
T0* _a=NULL;
T2 _mem_id=0;
T2 _i=0;
T0* _wa=NULL;
_mem_id=r272id(C);
_wa=r50writable_attributes((T50*)(r272run_class(C)));
r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_5495));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'S'));
r2append_in(_mem_id,((T0*)ms52_783104));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\173'));
/*[IF*/
if(r272is_reference(C)){
/*[IF*/
if(r50is_tagged((T50*)(r272run_class(C)))){
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_5873));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((_wa)!=((void*)(NULL))){
_i=(/*RF2*/(((T346*)_wa))->_upper/*12*/);
while (!((_i)==(0)))
{
_a=r346item(((T346*)_wa),_i);
_t=X52run_type((/*RF2*/(((T345*)_a))->_result_type/*28*/));
X52c_type_for_result_in(_t,((T0*)ms52_783104));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\137'));
r7append((T7*)(((T0*)ms52_783104)),X82to_string((/*RF2*/(((T345*)_a))->_name/*12*/)));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\73'));
_i=(_i)-(1);
}
}
/*FI]*/
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\175'));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
/*]*/
/*[IF*/
if(r272is_expanded(C)){
r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_993));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_7749));
r2append_in(_mem_id,((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_248));
r2append_in(_mem_id,((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_1600));
r2append_in(_mem_id,((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_936));
r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104),((T0*)ms52_87312));
}
/*FI]*/
}
T0* r272base_class(T272* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(/*RF2*/(C)->_base_class_name/*4*/);
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r61base_class(((T61*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type((T0*)C,((T0*)ms14_46));
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
void r272gc_store_chunk_in(T272* C,T0* a1){
r7append(((T7*)a1),((T0*)ms52_19074));
r2append_in(r272id(C),a1);
}
T0* r272look_up_for(T272* C,T0* a1,T0* a2){
T0* R=NULL;
R=r51look_up_for((T51*)(r272base_class(C)),a1,a2);
return R;
}
T2 r272c_sizeof(T272* C){
T2 R=0;
/*[IF*/
if(r272is_reference(C)){
R=r272c_sizeof_pointer();
}
else{
R=r50c_sizeof((T50*)(r272run_class(C)));
}
/*FI]*/
return R;
}
T6 r272has_creation(T272* C,T0* a1){
T6 R=0;
R=r51has_creation((T51*)(r272base_class(C)),a1);
return R;
}
T6 r272need_c_struct(T272* C){
T6 R=0;
/*[IF*/
if(r272is_dummy_expanded(C)){
}
else if(r272is_expanded(C)){
R=1;
}
else if(r50is_tagged((T50*)(r272run_class(C)))){
R=1;
}
else{
R=(r50writable_attributes((T50*)(r272run_class(C))))!=((void*)(NULL));
}
/*FI]*/
return R;
}
void r272mapping_cast(T272* C){
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_15456)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms52_15456)),((T3)'\50'));
r272c_type_for_target_in(C,((T0*)ms52_15456));
r7extend((T7*)(((T0*)ms52_15456)),((T3)'\51'));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_15456));
/*]*/
}
void r272gc_align_mark_in(T272* C,T0* a1){
r7append(((T7*)a1),((T0*)ms52_24609));
r2append_in(r272id(C),a1);
}
T0* r272actual_reference(T272* C,T0* a1){
T0* R=NULL;
T68 _sp={NULL,0};
{T68 se_tmp0;
_sp=(*(se_tmp0=X52start_position(a1),&se_tmp0));
}
{T389*n=((T389*)malloc(sizeof(*n))/*24*/);
*n=M389;
r389from_expanded(n,_sp,(T0*)C);
R=((T0*)n);
}
return R;
}
T6 r272is_a_in(T272* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((/*(IRF4.6written_mark*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_to_string/*8*/)/*)*/)==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
_t1=r272to_runnable(C,_ct);
_t2=X52to_runnable(a1,_ct);
/*[IF*/
if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
R=1;
}
else{
R=X52is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
void r272standard_c_typedef(T272* C){
T2 _mem_id=0;
_mem_id=r272id(C);
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
/*]*/
/*[IF*/
if(r272need_c_struct(C)){
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_6448));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_5495));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'S'));
r2append_in(_mem_id,((T0*)ms52_783104));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
r2append_in(_mem_id,((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
}
else if(r272is_dummy_expanded(C)){
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_6448));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_993));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
r2append_in(_mem_id,((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
}
else if(r272is_reference(C)){
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_6448));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_1736a));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\52'));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
r2append_in(_mem_id,((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
/*]*/
}
T6 r272is_native_array(T272* C){
T6 R=0;
T0* _tna=NULL;
_tna=NULL;
R=(_tna)!=((void*)(NULL));
return R;
}
T6 r272is_a(T272* C,T0* a1){
T6 R=0;
T0* _obcn=NULL;
T0* _bcn=NULL;
_bcn=(/*RF2*/(C)->_base_class_name/*4*/);
_obcn=X52base_class_name(a1);
/*[IF*/
if(((/*RF2*/(((T61*)_bcn))->_to_string/*8*/))==((void*)((/*RF2*/(((T61*)_obcn))->_to_string/*8*/)))){
R=1;
}
else if((r272is_reference(C))&&(X52is_expanded(a1))){
}
else if(r61is_subclass_of(((T61*)_bcn),_obcn)){
/*[IF*/
if(X52is_generic(a1)){
R=r51is_a_vncg((T51*)(r61base_class(((T61*)_bcn))),(T0*)C,a1);
}
else{
R=1;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(R)){
r66add_type((T0*)C,((T0*)ms14_17460));
r66add_type(a1,((T0*)ms14_46));
}
/*FI]*/
return R;
}
T0*oBC272check_memory=NULL;
void r272gc_store_left_in(T272* C,T0* a1){
r7append(((T7*)a1),((T0*)ms52_17170));
r2append_in(r272id(C),a1);
}
T2 r272c_sizeof_pointer(void){
T2 R=0;
T8 _p=NULL;
R=sizeof(T8);
return R;
}
T6 r272is_reference(T272* C){
T6 R=0;
R=!((/*RF2*/((T51*)(r272base_class(C)))->_is_expanded/*17*/));
return R;
}
void r272standard_gc_define2_for_expanded(T272* C){
T2 _rcid=0;
T0* _rc=NULL;
_rc=r272run_class(C);
/*[IF*/
if(r50gc_mark_to_follow(((T50*)_rc))){
_rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r272gc_mark_in(C,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_248aa));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_582a));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
/*]*/
r50gc_mark_fixed_size(((T50*)_rc),1,((T0*)ms52_3073536));
r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
}
/*FI]*/
}
void r272fatal_error_generic_list(T272* C){
r66add_type((T0*)C,((T0*)ms52_28899));
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r272c_initialize_in(T272* C,T0* a1){
/*[IF*/
if(r272is_expanded(C)){
/*[IF*/
if(r272need_c_struct(C)){
r50c_object_model_in((T50*)(r272run_class(C)),a1);
}
else{
r7extend(((T7*)a1),((T3)'0'));
}
/*FI]*/
}
else{
r7append(((T7*)a1),((T0*)ms14_1260));
}
/*FI]*/
}
T0* r272smallest_ancestor(T272* C,T0* a1){
T0* R=NULL;
T0* _bc2=NULL;
T0* _bc=NULL;
T0* _rto=NULL;
_rto=X52run_type(a1);
/*[IF*/
if(X52is_none(a1)){
R=((T0*)(C));
}
else if(X52is_any(_rto)){
R=_rto;
}
else{
_bc=r272base_class(C);
_bc2=X52base_class(_rto);
/*[IF*/
if((_bc2)==((void*)(_bc))){
R=((T0*)(C));
}
else if(r51is_subclass_of(((T51*)_bc2),_bc)){
R=((T0*)(C));
}
else if(r51is_subclass_of(((T51*)_bc),_bc2)){
R=_rto;
}
else if((X52is_expanded(_rto))&&(!(r272is_expanded(C)))){
R=X52smallest_ancestor(_rto,(T0*)C);
}
else{
R=r51smallest_ancestor(((T51*)_bc2),_rto,(T0*)C);
}
/*FI]*/
}
/*FI]*/
return R;
}
void r272standard_gc_define2(T272* C){
T6 _gc_check_id=0;
T2 _rcid=0;
T0* _rc=NULL;
_rc=r272run_class(C);
_rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_11416));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_6360));
r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms52_404));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_69075));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_361836));
r272gc_store_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_94205));
r344memory_dispose(((T0*)ms52_3073536),((T0*)ms52_320),r272run_class(C));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21552));
r272gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
r272gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_407960));
r344memory_dispose(((T0*)ms52_3073536),((T0*)ms52_322),r272run_class(C));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1591218));
r272gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
r272gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_14102));
r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r272gc_mark_in(C,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_248a));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_582));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
/*]*/
_gc_check_id=(r50is_tagged(((T50*)_rc)))&&(r47no_check((T47*)(oBC13run_control)));
/*[IF*/
if(_gc_check_id){
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21437));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_932));
}
/*FI]*/
r50gc_mark_fixed_size(((T50*)_rc),0,((T0*)ms52_3073536));
/*[IF*/
if(_gc_check_id){
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_270));
}
/*FI]*/
r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r272gc_align_mark_in(C,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_14570));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_585));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
/*]*/
r50gc_align_mark_fixed_size(((T50*)_rc),((T0*)ms52_3073536));
r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms52_5346));
r2append_in(_rcid,((T0*)ms52_783104a));
r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms52_454797));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_78075));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_356700));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_5802));
r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104a)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'T'));
r2append_in(_rcid,((T0*)ms52_783104a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_990));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_4320));
r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms14_404));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_884));
/*[IF*/
if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
r272gc_info_nb_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_620));
}
/*FI]*/
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_741));
r272gc_store_left_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1425));
r272gc_store_left_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_3810));
r272gc_store_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_13200));
r272gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11044));
r272gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
r272gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_39474));
r272gc_store_left_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_2370));
r272gc_store_left_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_712));
r272gc_store_chunk_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_103626));
r272gc_store_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11760));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11024));
r272gc_store_chunk_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_23640));
r272gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_31806));
r272gc_store_chunk_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1694883));
r272gc_store_chunk_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_51520));
r272gc_store_chunk_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_816));
r272gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_59265));
r272gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1725));
r272gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
r272gc_free_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_15800));
r272gc_store_chunk_in(C,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_8008));
r272gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21504));
/*[IF*/
if(r272need_c_struct(C)){
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_14003));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
}
/*FI]*/
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11862));
r2append_in(_rcid,((T0*)ms52_3073536));
r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_2118));
r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
}
void r272c_header_pass4(T272* C){
/*[IF*/
if(r272is_reference(C)){
/*[IF*/
if(r272need_c_struct(C)){
r272standard_c_struct(C);
}
/*FI]*/
}
/*FI]*/
r272standard_c_object_model(C);
r272standard_c_print_function(C);
}
T0*oBC13gc_handler=NULL;
T0* r272to_runnable(T272* C,T0* a1){
T0* R=NULL;
T0* _bc=NULL;
_bc=r61base_class((T61*)((/*RF2*/(C)->_base_class_name/*4*/)));
/*[IF*/
if(((/*RF2*/(((T51*)_bc))->_is_expanded/*17*/))&&(!(r64fast_has((T64*)(oBC272check_memory),_bc)))){
r64add_last((T64*)(oBC272check_memory),_bc);
r50set_at_run_time((T50*)(r272run_class(C)));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(((T51*)_bc))->_formal_generic_list/*22*/))!=((void*)(NULL))){
r66add_position((/*RF2*/((T94*)((/*RF2*/(((T51*)_bc))->_formal_generic_list/*22*/)))->_start_position/*0*/));
r66add_type((T0*)C,((T0*)ms272_49909));
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
R=((T0*)(C));
return R;
}
void r272standard_gc_define1(T272* C){
T2 _rcid=0;
T0* _rc=NULL;
_rc=r272run_class(C);
_rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_6448));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_5495));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'B'));
r2append_in(_rcid,((T0*)ms52_783104a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_138));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_5495));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'B'));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_414));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_78572));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_12042));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104a));
/*]*/
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
r2append_in(_rcid,((T0*)ms52_783104a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
r272gc_store_in(C,((T0*)ms52_783104a));
r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r272gc_store_left_in(C,((T0*)ms52_783104a));
r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms52_2345));
r272gc_store_chunk_in(C,((T0*)ms52_783104a));
r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
r2append_in(_rcid,((T0*)ms52_783104a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
r272gc_free_in(C,((T0*)ms52_783104a));
r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
/*[IF*/
if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r272gc_info_nb_in(C,((T0*)ms52_783104a));
r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
}
/*FI]*/
}
void r272id_extra_information(T272* C,T0* a1){
r48put_string(((T48*)a1),((T0*)ms52_9724));
/*[IF*/
if(r272is_reference(C)){
r48put_string(((T48*)a1),((T0*)ms52_1476));
}
else{
r48put_string(((T48*)a1),((T0*)ms52_759));
}
/*FI]*/
}
void r272standard_just_before_gc_mark_in(T272* C,T0* a1){
r272gc_free_in(C,a1);
r7extend(((T7*)a1),((T3)'\75'));
r7append(((T7*)a1),((T0*)ms14_1260));
r7append(((T7*)a1),((T0*)ms14_138));
}
void r272gc_define1(T272* C){
/*[IF*/
if(r272is_reference(C)){
r272standard_gc_define1(C);
}
/*FI]*/
}
void r272gc_mark_in(T272* C,T0* a1){
r7append(((T7*)a1),((T0*)ms14_8764));
r2append_in(r272id(C),a1);
}
void r272gc_info_nb_in(T272* C,T0* a1){
r7append(((T7*)a1),((T0*)ms52_14920));
r2append_in(r272id(C),a1);
}
void r272c_type_for_external_in(T272* C,T0* a1){
/*[IF*/
if(r272is_reference(C)){
r7append(((T7*)a1),((T0*)ms14_1736a));
r7extend(((T7*)a1),((T3)'\52'));
}
else{
r272c_type_for_result_in(C,a1);
}
/*FI]*/
}
void r272c_type_for_argument_in(T272* C,T0* a1){
/*[IF*/
if(r272is_reference(C)){
r7append(((T7*)a1),((T0*)ms14_522));
}
else if(r272is_dummy_expanded(C)){
r7append(((T7*)a1),((T0*)ms14_993));
}
else{
r7extend(((T7*)a1),((T3)'T'));
r2append_in(r272id(C),a1);
}
/*FI]*/
}
void r272gc_store_in(T272* C,T0* a1){
r7append(((T7*)a1),((T0*)ms52_2785));
r2append_in(r272id(C),a1);
}
T0* r272run_class(T272* C){
T0* R=NULL;
R=r49run_class((T0*)C);
return R;
}
T0*oBC13c_frame_descriptor_format=NULL;
T6 r272is_dummy_expanded(T272* C){
T6 R=0;
/*[IF*/
if(r272is_expanded(C)){
R=(r50writable_attributes((T50*)(r272run_class(C))))==((void*)(NULL));
}
/*FI]*/
return R;
}
void r272c_type_for_result_in(T272* C,T0* a1){
/*[IF*/
if(r272is_reference(C)){
r7append(((T7*)a1),((T0*)ms14_522));
}
else if(r272is_dummy_expanded(C)){
r7append(((T7*)a1),((T0*)ms14_993));
}
else{
r7extend(((T7*)a1),((T3)'T'));
r2append_in(r272id(C),a1);
}
/*FI]*/
}
void r272c_type_for_target_in(T272* C,T0* a1){
/*[IF*/
if(r272is_dummy_expanded(C)){
r7append(((T7*)a1),((T0*)ms14_993));
}
else{
r7extend(((T7*)a1),((T3)'T'));
r2append_in(r272id(C),a1);
r7extend(((T7*)a1),((T3)'\52'));
}
/*FI]*/
}
T6 r272is_expanded(T272* C){
T6 R=0;
R=(/*RF2*/((T51*)(r272base_class(C)))->_is_expanded/*17*/);
return R;
}
T0* r272expanded_initializer(T272* C){
T0* R=NULL;
/*[IF*/
if(r272is_expanded(C)){
R=r51expanded_initializer((T51*)(r272base_class(C)),(T0*)C);
}
/*FI]*/
return R;
}
void r272demangling_in(T272* C,T0* a1){
/*[IF*/
if(r272is_reference(C)){
r7extend(((T7*)a1),((T3)'R'));
}
else{
r7extend(((T7*)a1),((T3)'E'));
}
/*FI]*/
r7extend(((T7*)a1),((T3)'\40'));
r7append(((T7*)a1),/*(IRF4.6run_time_mark*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_to_string/*8*/)/*)*/);
}
void r272gc_initialize_chunk(T272* C,T2 a1,T0* a2){
r7extend(((T7*)a2),((T3)'\52'));
r272gc_store_chunk_in(C,a2);
r7append(((T7*)a2),((T0*)ms14_266a));
r2append_in(a1,a2);
r7append(((T7*)a2),((T0*)ms14_138));
r272gc_store_in(C,a2);
r7append(((T7*)a2),((T0*)ms52_1715));
r2append_in(a1,a2);
r7append(((T7*)a2),((T0*)ms52_1005));
r272gc_store_chunk_in(C,a2);
r7append(((T7*)a2),((T0*)ms52_11742));
r272gc_store_left_in(C,a2);
r7append(((T7*)a2),((T0*)ms14_266a));
r2append_in(a1,a2);
r7append(((T7*)a2),((T0*)ms52_34060));
r272gc_store_in(C,a2);
r7append(((T7*)a2),((T0*)ms52_2040));
}
void r272c_initialize(T272* C){
/*[IF*/
if(r272is_expanded(C)){
r272c_initialize_expanded(C);
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_1260));
/*]*/
}
/*FI]*/
}
void r272c_frame_descriptor(T272* C){
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
/*[IF*/
if(r272is_reference(C)){
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'R'));
}
else{
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'E'));
}
/*FI]*/
r2append_in(r272id(C),oBC13c_frame_descriptor_format);
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
}
void r272c_initialize_expanded(T272* C){
T0* _rf=NULL;
T2 _i=0;
T0* _wa=NULL;
/*[IF*/
if(r272is_dummy_expanded(C)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'0');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\173');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
_wa=r50writable_attributes((T50*)(r272run_class(C)));
_i=(/*RF2*/(((T346*)_wa))->_upper/*12*/);
while (!((_i)==(0)))
{
_rf=r346item(((T346*)_wa),_i);
X52c_initialize((/*RF2*/(((T345*)_rf))->_result_type/*28*/));
_i=(_i)-(1);
/*[IF*/
if((_i)>(0)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\175');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r272gc_info_in(T272* C,T0* a1){
/*[IF*/
if(r272is_reference(C)){
r272standard_gc_info_in(C,a1);
}
/*FI]*/
}
void r272gc_define2(T272* C){
/*[IF*/
if(r272is_reference(C)){
r272standard_gc_define2(C);
}
else{
r272standard_gc_define2_for_expanded(C);
}
/*FI]*/
}
void r187compile_to_c_old(T187* C){
X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T2 r187static_value(T187* C){
T2 R=0;
/*[IF*/
if(X104is_void((/*RF2*/(C)->_target/*4*/))){
R=r187static_eq_void(r187arg1(C));
}
else if(X104is_void(r187arg1(C))){
R=r187static_eq_void((/*RF2*/(C)->_target/*4*/));
}
else if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r187arg1(C)))){
/*[IF*/
if((X104static_value((/*RF2*/(C)->_target/*4*/)))==(X104static_value(r187arg1(C)))){
R=1;
}
/*FI]*/
}
/*FI]*/
return R;
}
T2 r187static_eq_void(T0* a1){
T2 R=0;
T0* _rt=NULL;
/*[IF*/
if(X104is_current(a1)){
}
else if(X104is_manifest_string(a1)){
}
else if(X104is_manifest_array(a1)){
}
else{
_rt=X52run_type(X104result_type(a1));
/*[IF*/
if(X52is_expanded(_rt)){
/*[IF*/
if(X104can_be_dropped(a1)){
R=0;
}
/*FI]*/
}
else if(X104is_static(a1)){
/*[IF*/
if((X104static_value(a1))==(0)){
R=1;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r187afd_check(T187* C){
T0* _running=NULL;
T0* _rc=NULL;
/*[IF*/
/*AF*//*AE*/
/*FI]*/
X104afd_check((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r187c_declare_for_old(T187* C){
X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r187collect_c_tmp(T187* C){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
/*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r187operator(void){
T0* R=NULL;
R=((T0*)ms15_61);
return R;
}
void r187cmp_bit(T187* C,T6 a1,T0* a2){
T0* _tb=NULL;
_tb=a2;
if(NULL!=(_tb)){
switch(((T0*)_tb)->id){
case 275:case 277:
break;
default:
_tb=NULL;
}
}/*[IF*/
if(X276is_c_unsigned_ptr(_tb)){
/*[IF*/
if(a1){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\41');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms188_6776));
/*]*/
X104mapping_c_target((/*RF2*/(C)->_target/*4*/),a2);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_375));
/*]*/
X104mapping_c_target(r187arg1(C),a2);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms188_12670));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X276id(_tb));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms188_164));
/*]*/
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X104compile_to_c((/*RF2*/(C)->_target/*4*/));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(a1){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_244));
/*]*/
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_188a));
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X104compile_to_c(r187arg1(C));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r187cmp_basic_eiffel_expanded(T187* C,T6 a1,T0* a2,T0* a3){
T0* _cast=NULL;
/*[IF*/
if((X52is_double(a2))||(X52is_double(a3))){
_cast=((T0*)ms188_2988);
}
else if((X52is_real(a2))||(X52is_real(a2))){
_cast=((T0*)ms188_2982);
}
/*FI]*/
/*[IF*/
if((_cast)!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_cast);
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X104compile_to_c((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if((_cast)!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(a1){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_244));
/*]*/
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_188a));
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if((_cast)!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_cast);
/*]*/
}
/*FI]*/
X104compile_to_c(r187arg1(C));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if((_cast)!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
/*FI]*/
}
T0* r187runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X139to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
}
r187fatal_error(((T0*)ms14_12870));
}
/*FI]*/
return R;
}
void r187bit_limitation(T187* C,T0* a1,T0* a2){
T0* _b2=NULL;
T0* _b1=NULL;
_b1=a1;
if(NULL!=(_b1)){
switch(((T0*)_b1)->id){
case 275:case 277:
break;
default:
_b1=NULL;
}
}_b2=a2;
if(NULL!=(_b2)){
switch(((T0*)_b2)->id){
case 275:case 277:
break;
default:
_b2=NULL;
}
}/*[IF*/
if((X276nb(_b1))!=(X276nb(_b2))){
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms188_20976);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type(_b1,((T0*)ms188_1855));
r66add_type(_b2,((T0*)ms188_382452));
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
}
void r187error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
void r187dca_inline(T187* C,T0* a1){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r325put_target_as_value((T325*)(oBC13cpp));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if((/*(IRF4.6first*/((/*RF2*/((T7*)(r187operator()))->_storage/*0*/))[0]/*)*/)==(((T3)'\75'))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_244));
/*]*/
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_188a));
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X104dca_inline_argument(r187arg1(C),a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
void r187cmp_basic_ref(T187* C,T6 a1){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X104compile_to_c((/*RF2*/(C)->_target/*4*/));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(a1){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_244));
/*]*/
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_188a));
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_5327));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X104compile_to_c(r187arg1(C));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
T0*oBC13type_boolean=NULL;
int fBC13type_boolean=0;
T0* r187type_boolean(void){
if(fBC13type_boolean==0){fBC13type_boolean=1;{
T68 _unknown_position={NULL,0};
{T263*n=((T263*)malloc(sizeof(*n))/*8*/);
*n=M263;
oBC13type_boolean=((T0*)n);
r263make(n,_unknown_position);
}
}}
return oBC13type_boolean;
}
T6 r187call_proc_call_stupid_switch(T187* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
R=1;
}
else{
R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X104is_current((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if(r49same_base_feature(/*(IRF4.1run_feature*/NULL/*)*/,a1)){
R=(X334stupid_switch(/*(IRF4.1run_feature*/NULL/*)*/,a1))!=((void*)(NULL));
}
else{
R=0;
}
/*FI]*/
}
else{
R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
void r187make(T187* C,T0* a1,T68 a2,T0* a3){
(/*SFN*/C->_target)=a1;
{T129*n=((T129*)malloc(sizeof(*n))/*20*/);
*n=M129;
r129make(n,r187operator(),a2);
(/*SFN*/C->_feature_name)=((T0*)n);
}
{T139*n=((T139*)malloc(sizeof(*n))/*16*/);
*n=M139;
/*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
/*]*/
(/*SFN*/C->_arguments)=((T0*)n);
}
}
void r187error_comparison(T187* C,T0* a1,T0* a2){
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms188_9780);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms188_88031);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type(a2,((T0*)ms14_46));
r66print_as_fatal_error((T66*)(oBC13eh));
}
T6 r187is_static_eq_void(T0* a1){
T6 R=0;
T0* _rt=NULL;
/*[IF*/
if(X104is_current(a1)){
R=1;
}
else if(X104is_manifest_string(a1)){
R=1;
}
else if(X104is_manifest_array(a1)){
R=1;
}
else{
_rt=X52run_type(X104result_type(a1));
/*[IF*/
if(X52is_expanded(_rt)){
/*[IF*/
if(X104can_be_dropped(a1)){
R=1;
}
/*FI]*/
}
else if(X104is_static(a1)){
/*[IF*/
if((X104static_value(a1))==(0)){
R=1;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r187runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r187fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}
void r187check_comparison(T187* C,T0* a1){
T0* _at=NULL;
T0* _tt=NULL;
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
_tt=X52run_type(X104result_type((/*RF2*/(C)->_target/*4*/)));
_at=X52run_type(X104result_type(r187arg1(C)));
/*[IF*/
if(X52is_none(_tt)){
}
else if(X52is_none(_at)){
}
else if(X52is_reference(_tt)){
/*[IF*/
if(X52is_reference(_at)){
}
else if(!(X52is_a(_at,_tt))){
r187error_comparison(C,((T0*)ms188_41400),a1);
}
/*FI]*/
}
else{
/*[IF*/
if(X52is_expanded(_at)){
/*[IF*/
if(X52is_basic_eiffel_expanded(_at)){
/*[IF*/
if(X52is_a(_tt,_at)){
}
else{
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(X52is_a(_at,_tt)){
}
else{
r187error_comparison(C,((T0*)ms188_37536),a1);
}
/*FI]*/
}
/*FI]*/
}
else if(X52is_bit(_tt)){
r187bit_limitation(C,_tt,_at);
}
else if(!(X52is_a(_at,_tt))){
r187error_comparison(C,((T0*)ms188_37536a),a1);
}
/*FI]*/
}
else if(!(X52is_a(_tt,_at))){
r187error_comparison(C,((T0*)ms188_41868),a1);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
T0* r187add_comment(T187* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r187mapping_c_target(T187* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r325call_invariant_start(a1);
_actual_type=X52run_type(/*(IRF4.8result_type*/r187type_boolean()/*)*/);
/*[IF*/
if(X52is_reference(_actual_type)){
/*[IF*/
if(X52is_reference(a1)){
X52mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r187compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
r187compile_to_c(C);
}
/*FI]*/
}
else{
/*[IF*/
if(X52is_reference(a1)){
r187compile_to_c(C);
}
else{
/*[IF*/
if(X52need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r187compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
r187compile_to_c(C);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r187with(T187* C,T0* a1,T0* a2,T0* a3){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_arguments)=a3;
}
T6 r187use_current(T187* C){
T6 R=0;
R=(X104use_current((/*RF2*/(C)->_target/*4*/)))||(X104use_current(r187arg1(C)));
return R;
}
T0* r187to_runnable(T187* C,T0* a1){
T0* R=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r187runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
_a=r187runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
/*[IF*/
if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
R=((T0*)(C));
}
else{
{T187*n=((T187*)malloc(sizeof(*n))/*16*/);
*n=M187;
r187with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a);
R=((T0*)n);
}
}
/*FI]*/
r187check_comparison(((T187*)R),a1);
return R;
}
T2 r187to_integer(T187* C){
T2 R=0;
r187error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
return R;
}
T6 r187is_static(T187* C){
T6 R=0;
/*[IF*/
if(X104is_void((/*RF2*/(C)->_target/*4*/))){
R=r187is_static_eq_void(r187arg1(C));
}
else if(X104is_void(r187arg1(C))){
R=r187is_static_eq_void((/*RF2*/(C)->_target/*4*/));
}
else if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r187arg1(C)))){
R=1;
}
/*FI]*/
return R;
}
T0* r187arg1(T187* C){
T0* R=NULL;
R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
return R;
}
void r187cmp_user_expanded(T187* C,T6 a1,T0* a2){
T2 _mem_id=0;
/*[IF*/
if(X52is_dummy_expanded(a2)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X104compile_to_c((/*RF2*/(C)->_target/*4*/));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
X104compile_to_c(r187arg1(C));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IF*/
if(a1){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'1');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'0');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
_mem_id=X52id(a2);
/*[IF*/
if(a1){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\41');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_7749));
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_mem_id);
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_160a));
/*]*/
X104compile_to_c((/*RF2*/(C)->_target/*4*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_375));
/*]*/
X104compile_to_c(r187arg1(C));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
/*]*/
}
/*FI]*/
}
T0* r187static_result_base_class(void){
T0* R=NULL;
R=r49get_class(((T0*)ms15_6405));
return R;
}
void r187fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r187c2c_exp_ref(T0* a1,T0* a2,T0* a3,T0* a4){
/*[IF*/
if(X104is_void(a3)){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_160a));
/*]*/
X104compile_to_c(a1);
}
else{
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_160a));
/*]*/
X104compile_to_c(a1);
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_375));
/*]*/
X104compile_to_c(a3);
}
/*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms187_696));
/*]*/
}
void r187assertion_check(T187* C,T3 a1){
X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
X104assertion_check(r187arg1(C),a1);
}
void r187compile_to_c(T187* C){
T0* _at=NULL;
T0* _tt=NULL;
_tt=X52run_type(X104result_type((/*RF2*/(C)->_target/*4*/)));
_at=X52run_type(X104result_type(r187arg1(C)));
/*[IF*/
if(X52is_expanded(_tt)){
/*[IF*/
if(X52is_expanded(_at)){
/*[IF*/
if(X52is_user_expanded(_tt)){
r187cmp_user_expanded(C,1,_tt);
}
else if(X52is_basic_eiffel_expanded(_tt)){
r187cmp_basic_eiffel_expanded(C,1,_at,_tt);
}
else if(X52is_bit(_tt)){
r187cmp_bit(C,1,_tt);
}
else{
r187cmp_basic_ref(C,1);
}
/*FI]*/
}
else{
r187c2c_exp_ref((/*RF2*/(C)->_target/*4*/),_tt,r187arg1(C),_at);
}
/*FI]*/
}
else if(X52is_expanded(_at)){
r187c2c_exp_ref(r187arg1(C),_at,(/*RF2*/(C)->_target/*4*/),_tt);
}
else{
r187cmp_basic_ref(C,1);
}
/*FI]*/
}
T6 r187stupid_switch(T187* C,T0* a1){
T6 R=0;
R=r187call_proc_call_stupid_switch(C,a1);
/*[IF*/
if(R){
R=!(X52is_native_array(/*(IRF4.8result_type*/r187type_boolean()/*)*/));
}
/*FI]*/
return R;
}
void r120compile_to_c_old(T120* C){
X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r120runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r120fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}
void r120run_feature_has_result(T120* C){
/*[IF*/
if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
}
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
r120fatal_error(((T0*)ms115_53215));
}
/*FI]*/
}
void r120run_feature_match(T120* C,T0* a1){
r120run_feature_has_result(C);
X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
}
T0* r120add_comment(T120* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r120with(T120* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_arguments)=a3;
(/*SFN*/C->_run_feature)=a4;
r120run_feature_match(C,a5);
}
void r120mapping_c_target(T120* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r325call_invariant_start(a1);
_actual_type=X52run_type(r120result_type(C));
/*[IF*/
if(X52is_reference(_actual_type)){
/*[IF*/
if(X52is_reference(a1)){
X52mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T120* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T120* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X52is_reference(a1)){
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T120* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X52need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T120* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T120* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r120afd_check(T120* C){
T0* _running=NULL;
T0* _rc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
_rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
_running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
/*[IF*/
if((_running)==((void*)(NULL))){
}
else if((r53count(((T53*)_running)))>(1)){
r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
}
/*FI]*/
X104afd_check((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r120c_declare_for_old(T120* C){
X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r120collect_c_tmp(T120* C){
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
/*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r120operator(void){
T0* R=NULL;
R=((T0*)ms15_921);
return R;
}
T6 r120use_current(T120* C){
T6 R=0;
/*[IF*/
{/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
}
else{
R=X104use_current((/*RF2*/(C)->_target/*4*/));
}
/*FI]*/
return R;
}
T0* r120runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X139to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
}
r120fatal_error(((T0*)ms14_12870));
}
/*FI]*/
return R;
}
T0* r120to_runnable(T120* C,T0* a1){
T0* R=NULL;
T0* _target_type=NULL;
T0* _argument_type=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r120runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
_a=r120runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
_target_type=X104result_type(_t);
_argument_type=X104result_type(r120arg1(C));
/*[IF*/
if(X52is_real(_argument_type)){
/*[IF*/
if(X52is_integer(_target_type)){
_t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
}
/*FI]*/
}
else if(X52is_double(_argument_type)){
/*[IF*/
if((X52is_integer(_target_type))||(X52is_real(_target_type))){
_t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
}
/*FI]*/
}
/*FI]*/
_rf=r120run_feature_for(C,_t,a1);
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
(/*SFN*/C->_target)=_t;
(/*SFN*/C->_arguments)=_a;
(/*SFN*/C->_run_feature)=_rf;
r120run_feature_match(C,a1);
R=((T0*)(C));
}
else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
R=((T0*)(C));
}
else{
{T120*n=((T120*)malloc(sizeof(*n))/*24*/);
*n=M120;
r120with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T2 r120to_integer(T120* C){
T2 R=0;
r120error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
return R;
}
T6 r120is_static(T120* C){
T6 R=0;
/*[IF*/
if(X52is_boolean(X104result_type((/*RF2*/(C)->_target/*4*/)))){
/*[IF*/
if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r120arg1(C)))){
R=1;
(/*SFN*/C->_static_value_mem)=(X104static_value((/*RF2*/(C)->_target/*4*/)))+(X104static_value(r120arg1(C)));
/*[IF*/
if(((/*RF2*/(C)->_static_value_mem/*20*/))==(2)){
(/*SFN*/C->_static_value_mem)=1;
}
else{
(/*SFN*/C->_static_value_mem)=0;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r120finalize(T120* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(/*RF2*/(C)->_run_feature/*16*/);
_rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
(/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
}
void r120error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r120result_type(T120* C){
T0* R=NULL;
T0* _tla=NULL;
R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
/*[IF*/
if(X52is_like_current(R)){
R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
}
else{
_tla=R;
if(NULL!=(_tla)){
switch(((T0*)_tla)->id){
case 257:
break;
default:
_tla=NULL;
}
}/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X52run_type(X104result_type(r120arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r120arg1(T120* C){
T0* R=NULL;
R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
return R;
}
T6 r120call_proc_call_stupid_switch(T120* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
R=1;
}
else{
R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X104is_current((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
}
else{
R=0;
}
/*FI]*/
}
else{
R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r120run_feature_for(T120* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
T0* _rt=NULL;
T0* _rc=NULL;
_rt=X104result_type(a1);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_rc=X52run_class(_rt);
/*[IF*/
if((_rc)!=((void*)(NULL))){
_bc=r50base_class(((T50*)_rc));
R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r120static_result_base_class(T120* C){
T0* R=NULL;
T0* _cn=NULL;
T0* _rt=NULL;
T0* _e_feature=NULL;
T0* _bc=NULL;
_bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if((_bc)!=((void*)(NULL))){
_e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
/*[IF*/
if((_e_feature)!=((void*)(NULL))){
_rt=X90result_type(_e_feature);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_cn=X52static_base_class_name(_rt);
/*[IF*/
if((_cn)!=((void*)(NULL))){
R=r61base_class(((T61*)_cn));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r120make(T120* C,T0* a1,T68 a2,T0* a3){
(/*SFN*/C->_target)=a1;
{T129*n=((T129*)malloc(sizeof(*n))/*20*/);
*n=M129;
r129make(n,r120operator(),a2);
(/*SFN*/C->_feature_name)=((T0*)n);
}
{T139*n=((T139*)malloc(sizeof(*n))/*16*/);
*n=M139;
/*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
/*]*/
(/*SFN*/C->_arguments)=((T0*)n);
}
}
void r120fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r120assertion_check(T120* C,T3 a1){
/*[IF*/
if((a1)==(((T3)'R'))){
X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
}
/*FI]*/
X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
X104assertion_check(r120arg1(C),a1);
}
T6 r120stupid_switch(T120* C,T0* a1){
T6 R=0;
R=r120call_proc_call_stupid_switch(C,a1);
/*[IF*/
if(R){
R=!(X52is_native_array(r120result_type(C)));
}
/*FI]*/
return R;
}
T0*oBC13conversion_handler=NULL;
void r36put_string(T36* C,T0* a1){
T2 _i=0;
_i=1;
while (!((_i)>((/*RF2*/(((T7*)a1))->_count/*4*/))))
{
/*[IRF3.6put_character*/{T36* C1=C;
T3 b1=/*(IRF4.6item*/((/*RF2*/(((T7*)a1))->_storage/*0*/))[(_i)-(1)]/*)*/;
putc(b1,((FILE*)(stdout)));
}/*]*/
_i=(_i)+(1);
}
}
void r36put_integer(T36* C,T2 a1){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC37tmp_string))))->_count)=(0);
/*]*/
r2append_in(a1,oBC37tmp_string);
r36put_string(C,oBC37tmp_string);
}
T0*oBC37tmp_string=NULL;
void r36put_double_format(T36* C,T5 a1,T2 a2){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC37tmp_string))))->_count)=(0);
/*]*/
r5append_in_format(a1,oBC37tmp_string,a2);
r36put_string(C,oBC37tmp_string);
}
void r96make(T96* C,T0* a1,T0* a2,T0* a3){
(/*SFN*/C->_clients)=a1;
(/*SFN*/C->_comment)=a2;
(/*SFN*/C->_list)=a3;
}
void r96add_into(T96* C,T0* a1){
T0* _f=NULL;
T2 _i=0;
/*[IF*/
if(((/*RF2*/(C)->_list/*8*/))!=((void*)(NULL))){
_i=0;
while (!((_i)>(/*SSWARF2*//*X92upper*/(/*RF2*/((T92*)((/*RF2*/(C)->_list/*8*/)))->_upper/*12*/))))
{
_f=X92item((/*RF2*/(C)->_list/*8*/),_i);
X90set_clients(_f,(/*RF2*/(C)->_clients/*0*/));
X90add_into(_f,a1);
_i=(_i)+(1);
}
}
/*FI]*/
}
void r118compile_to_c_old(T118* C){
X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r118runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r118fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}
void r118run_feature_has_result(T118* C){
/*[IF*/
if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
}
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
r118fatal_error(((T0*)ms115_53215));
}
/*FI]*/
}
void r118run_feature_match(T118* C,T0* a1){
r118run_feature_has_result(C);
X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
}
T0* r118add_comment(T118* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r118with(T118* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_arguments)=a3;
(/*SFN*/C->_run_feature)=a4;
r118run_feature_match(C,a5);
}
void r118mapping_c_target(T118* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r325call_invariant_start(a1);
_actual_type=X52run_type(r118result_type(C));
/*[IF*/
if(X52is_reference(_actual_type)){
/*[IF*/
if(X52is_reference(a1)){
X52mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T118* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T118* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X52is_reference(a1)){
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T118* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X52need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T118* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T118* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r118afd_check(T118* C){
T0* _running=NULL;
T0* _rc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
_rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
_running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
/*[IF*/
if((_running)==((void*)(NULL))){
}
else if((r53count(((T53*)_running)))>(1)){
r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
}
/*FI]*/
X104afd_check((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r118c_declare_for_old(T118* C){
X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r118collect_c_tmp(T118* C){
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
/*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r118operator(void){
T0* R=NULL;
R=((T0*)ms15_450);
return R;
}
T6 r118use_current(T118* C){
T6 R=0;
/*[IF*/
{/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
}
else{
R=X104use_current((/*RF2*/(C)->_target/*4*/));
}
/*FI]*/
return R;
}
T0* r118runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X139to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
}
r118fatal_error(((T0*)ms14_12870));
}
/*FI]*/
return R;
}
T0* r118to_runnable(T118* C,T0* a1){
T0* R=NULL;
T0* _target_type=NULL;
T0* _argument_type=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r118runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
_a=r118runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
_target_type=X104result_type(_t);
_argument_type=X104result_type(r118arg1(C));
/*[IF*/
if(X52is_real(_argument_type)){
/*[IF*/
if(X52is_integer(_target_type)){
_t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
}
/*FI]*/
}
else if(X52is_double(_argument_type)){
/*[IF*/
if((X52is_integer(_target_type))||(X52is_real(_target_type))){
_t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
}
/*FI]*/
}
/*FI]*/
_rf=r118run_feature_for(C,_t,a1);
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
(/*SFN*/C->_target)=_t;
(/*SFN*/C->_arguments)=_a;
(/*SFN*/C->_run_feature)=_rf;
r118run_feature_match(C,a1);
R=((T0*)(C));
}
else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
R=((T0*)(C));
}
else{
{T118*n=((T118*)malloc(sizeof(*n))/*24*/);
*n=M118;
r118with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T2 r118to_integer(T118* C){
T2 R=0;
r118error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
return R;
}
T6 r118is_static(T118* C){
T6 R=0;
/*[IF*/
if(X52is_boolean(X104result_type((/*RF2*/(C)->_target/*4*/)))){
/*[IF*/
if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r118arg1(C)))){
R=1;
(/*SFN*/C->_static_value_mem)=(X104static_value((/*RF2*/(C)->_target/*4*/)))+(X104static_value(r118arg1(C)));
/*[IF*/
if(((/*RF2*/(C)->_static_value_mem/*20*/))==(2)){
(/*SFN*/C->_static_value_mem)=1;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r118finalize(T118* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(/*RF2*/(C)->_run_feature/*16*/);
_rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
(/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
}
void r118error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r118result_type(T118* C){
T0* R=NULL;
T0* _tla=NULL;
R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
/*[IF*/
if(X52is_like_current(R)){
R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
}
else{
_tla=R;
if(NULL!=(_tla)){
switch(((T0*)_tla)->id){
case 257:
break;
default:
_tla=NULL;
}
}/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X52run_type(X104result_type(r118arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r118arg1(T118* C){
T0* R=NULL;
R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
return R;
}
T6 r118call_proc_call_stupid_switch(T118* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
R=1;
}
else{
R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X104is_current((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
}
else{
R=0;
}
/*FI]*/
}
else{
R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r118run_feature_for(T118* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
T0* _rt=NULL;
T0* _rc=NULL;
_rt=X104result_type(a1);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_rc=X52run_class(_rt);
/*[IF*/
if((_rc)!=((void*)(NULL))){
_bc=r50base_class(((T50*)_rc));
R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r118static_result_base_class(T118* C){
T0* R=NULL;
T0* _cn=NULL;
T0* _rt=NULL;
T0* _e_feature=NULL;
T0* _bc=NULL;
_bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if((_bc)!=((void*)(NULL))){
_e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
/*[IF*/
if((_e_feature)!=((void*)(NULL))){
_rt=X90result_type(_e_feature);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_cn=X52static_base_class_name(_rt);
/*[IF*/
if((_cn)!=((void*)(NULL))){
R=r61base_class(((T61*)_cn));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r118make(T118* C,T0* a1,T68 a2,T0* a3){
(/*SFN*/C->_target)=a1;
{T129*n=((T129*)malloc(sizeof(*n))/*20*/);
*n=M129;
r129make(n,r118operator(),a2);
(/*SFN*/C->_feature_name)=((T0*)n);
}
{T139*n=((T139*)malloc(sizeof(*n))/*16*/);
*n=M139;
/*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
/*]*/
(/*SFN*/C->_arguments)=((T0*)n);
}
}
void r118fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r118assertion_check(T118* C,T3 a1){
/*[IF*/
if((a1)==(((T3)'R'))){
X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
}
/*FI]*/
X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
X104assertion_check(r118arg1(C),a1);
}
T6 r118stupid_switch(T118* C,T0* a1){
T6 R=0;
R=r118call_proc_call_stupid_switch(C,a1);
/*[IF*/
if(R){
R=!(X52is_native_array(r118result_type(C)));
}
/*FI]*/
return R;
}
void r76load_file(T76* C,T0* a1){
T2 _i=0;
r40connect_to((T40*)(oBC13tmp_file_read),a1);
/*[IF*/
if(/*(IRF4.7is_connected*/((/*RF2*/((T40*)(oBC13tmp_file_read))->_path/*1*/))!=(NULL)/*)*/){
(/*SFN*/C->_path)=((/*UT*/(void)((T21*)(r76string_aliaser()))),r21item(a1));
/*[IF*/
if((r76get_line(0))!=((void*)(NULL))){
}
/*FI]*/
_i=1;
r40read_line_in((T40*)(oBC13tmp_file_read),r76get_line(_i));
while (!(r40end_of_input((T40*)(oBC13tmp_file_read))))
{
_i=(_i)+(1);
r40read_line_in((T40*)(oBC13tmp_file_read),r76get_line(_i));
}
/*[IF*/
if(/*(IRF4.7is_empty*/((/*RF2*/((T7*)(/*(IRF4.6item*/((/*RF2*/((T31*)(oBC76text))->_storage/*4*/))[_i]/*)*/))->_count/*4*/))==(0)/*)*/){
(/*SFN*/C->_count)=(_i)-(1);
}
else{
(/*SFN*/C->_count)=_i;
}
/*FI]*/
r40disconnect((T40*)(oBC13tmp_file_read));
/*[IF*/
if(((/*RF2*/(C)->_count/*4*/))<=(0)){
/*[IRF3.6append*/{T0* b1=((T0*)ms76_3720);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(/*RF2*/(C)->_path/*0*/);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms76_26060);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
}
else{
(/*SFN*/C->_path)=NULL;
}
/*FI]*/
}
T0*oBC13tmp_file_read=NULL;
T0* r76string_aliaser(void){
if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
{T21*n=((T21*)malloc(1));
oBC13string_aliaser=((T0*)n);
/*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_22524));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_29246));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_22596));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_60016));
r21add2(((T0*)ms15_26880));
r21add2(((T0*)ms15_33240));
r21add2(((T0*)ms15_21624));
r21add2(((T0*)ms15_60060));
r21add2(((T0*)ms15_26908));
r21add2(((T0*)ms15_33270));
r21add2(((T0*)ms15_21648));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*]*/
}
}}
return oBC13string_aliaser;
}
T0*oBC76text=NULL;
T0* r76get_line(T2 a1){
T0* R=NULL;
/*[IF*/
if((a1)<=((/*RF2*/((T31*)(oBC76text))->_upper/*12*/))){
R=/*(IRF4.6item*/((/*RF2*/((T31*)(oBC76text))->_storage/*4*/))[a1]/*)*/;
/*[IRF3.3clear*/((((T7*)(((T7*)R))))->_count)=(0);
/*]*/
}
else{
{T7*n=((T7*)malloc(sizeof(*n))/*12*/);
*n=M7;
r7make(n,80);
R=((T0*)n);
}
r31add_last((T31*)(oBC76text),R);
}
/*FI]*/
return R;
}
T0* r76item(T2 a1){
T0* R=NULL;
R=/*(IRF4.6item*/((/*RF2*/((T31*)(oBC76text))->_storage/*4*/))[a1]/*)*/;
return R;
}
void r394refer_to(T394* C,T2 a1,T0* a2){
(/*SFN*/C->_enclosing)=a2;
{T7*n=((T7*)malloc(sizeof(*n))/*12*/);
*n=M7;
r7make(n,(8)+((/*RF2*/((T7*)(X82to_key((/*RF2*/(C)->_enclosing/*8*/))))->_count/*4*/)));
(/*SFN*/C->_to_key)=((T0*)n);
}
r7extend((T7*)((/*RF2*/(C)->_to_key/*4*/)),((T3)'\137'));
r2append_in(a1,(/*RF2*/(C)->_to_key/*4*/));
r7extend((T7*)((/*RF2*/(C)->_to_key/*4*/)),((T3)'P'));
r7append((T7*)((/*RF2*/(C)->_to_key/*4*/)),X82to_key((/*RF2*/(C)->_enclosing/*8*/)));
(/*SFN*/C->_to_key)=((/*UT*/(void)((T21*)(r394string_aliaser()))),r21item((/*RF2*/(C)->_to_key/*4*/)));
}
void r394undefine_in(T394* C,T0* a1){
/*[IF*/
if(r394is_frozen(C)){
{T68 se_tmp0;
r394error((*(se_tmp0=r394start_position(C),&se_tmp0)),((T0*)ms82_116840));
}
r51fatal_undefine(((T51*)a1),(T0*)C);
}
/*FI]*/
}
T0* r394string_aliaser(void){
if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
{T21*n=((T21*)malloc(1));
oBC13string_aliaser=((T0*)n);
/*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_22524));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_29246));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_22596));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_60016));
r21add2(((T0*)ms15_26880));
r21add2(((T0*)ms15_33240));
r21add2(((T0*)ms15_21624));
r21add2(((T0*)ms15_60060));
r21add2(((T0*)ms15_26908));
r21add2(((T0*)ms15_33270));
r21add2(((T0*)ms15_21648));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*]*/
}
}}
return oBC13string_aliaser;
}
T0* r394origin_base_class(T394* C){
T0* R=NULL;
{T68 se_tmp0;
R=(/*RF2*/((*(se_tmp0=r394start_position(C),&se_tmp0)))._base_class/*0*/);
}
return R;
}
T6 r394is_frozen(T394* C){
T6 R=0;
R=X82is_frozen((/*RF2*/(C)->_enclosing/*8*/));
return R;
}
T0* r394to_string(T394* C){
T0* R=NULL;
R=X82to_string((/*RF2*/(C)->_enclosing/*8*/));
return R;
}
void r394error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T68 r394start_position(T394* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X82start_position((/*RF2*/(C)->_enclosing/*8*/)),&se_tmp0));
}
return R;
}
T0* r148add_comment(T148* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r148mapping_c_target(T0* a1){
T6 _flag=0;
/*[IF*/
{/*AT*/_flag=r325call_invariant_start(a1);
}
/*FI]*/
r325print_current((T325*)(oBC13cpp));
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
T0* r148to_runnable(T148* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((/*RF2*/(C)->_result_type/*12*/))==((void*)(NULL))){
(/*SFN*/C->_result_type)=a1;
R=((T0*)(C));
}
else if(((/*RF2*/(C)->_result_type/*12*/))==((void*)(a1))){
R=((T0*)(C));
}
else{
{T148*n=((T148*)malloc(sizeof(*n))/*16*/);
*n=M148;
/*[IRF3.3make*/((((T148*)(n)))->_start_position)=((/*RF2*/(C)->_start_position/*4*/));
/*]*/
R=((T0*)n);
}
R=r148to_runnable(((T148*)R),a1);
}
/*FI]*/
return R;
}
T2 r148to_integer(T148* C){
T2 R=0;
r148error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms14_45441));
return R;
}
void r148error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r148static_result_base_class(T148* C){
T0* R=NULL;
R=(/*RF2*/((/*RF2*/(C)->_start_position/*4*/))._base_class/*0*/);
return R;
}
void r148compile_to_c(T148* C){
/*[IF*/
if(X52is_user_expanded((/*RF2*/(C)->_result_type/*12*/))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\52');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r325print_current((T325*)(oBC13cpp));
}
void r148mapping_c_arg(T148* C,T0* a1){
T0* _rt=NULL;
_rt=X52run_type((/*RF2*/(C)->_result_type/*12*/));
/*[IF*/
if(X52is_reference(_rt)){
/*[IF*/
if(X52is_reference(a1)){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_1275));
/*]*/
r325print_current((T325*)(oBC13cpp));
}
else{
r325print_current((T325*)(oBC13cpp));
}
/*FI]*/
}
else if(X52is_reference(a1)){
r325print_current((T325*)(oBC13cpp));
}
else if(X52is_user_expanded(_rt)){
/*[IF*/
if(!(X52is_dummy_expanded(_rt))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\52');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
r325print_current((T325*)(oBC13cpp));
}
else{
r325print_current((T325*)(oBC13cpp));
}
/*FI]*/
}
void r314make(T314* C,T0* a1,T0* a2){
(/*SFN*/C->_name)=a1;
X175set_result_type((/*RF2*/(C)->_name/*4*/),a2);
}
void r314append_in(T314* C,T0* a1){
X170add_last(a1,(/*RF2*/(C)->_name/*4*/));
}
T0* r306try_to_undefine_aux(T306* C,T0* a1,T0* a2){
T0* R=NULL;
{T285*n=((T285*)malloc(sizeof(*n))/*40*/);
*n=M285;
r285from_effective(n,a1,(/*RF2*/(C)->_arguments/*20*/),(/*RF2*/(C)->_require_assertion/*28*/),(/*RF2*/(C)->_ensure_assertion/*32*/),a2);
R=((T0*)n);
}
return R;
}